package com.enjoyor.soa.traffic.api.ubms.dto;

import com.enjoyor.soa.traffic.util.pinyin.PinYinUtils;
import oracle.spatial.geometry.JGeometry;

import java.io.Serializable;

/**
 * 路段信息DTO
 * 
 * @author yuankun
 * @version V1.0
 */
public class BlockInfoDto implements Serializable {

    private static final long serialVersionUID = 1L;

    private String blockId;
    private String blockName;
    private String letterAbbr;
    private String directCode;
    private String directValue;
    private String directName;
    private String blockTypeCode;
    private String blockTypeValue;
    private String blockTypeName;
    private String roadId;
    private String roadName;
    private String regionId;
    private String regionName;
    private String isOneWayCode;
    private String isOneWayValue;
    private String isOneWayName;
    private String funcAttrCode;
    private String funcAttrValue;
    private String funcAttrName;
    private String prevCross;
    private String prevCrossName;
    private String nextCross;
    private String nextCrossName;
    private float blockLen;
    private String beginPoint;
    private String endPoint;
    private int maxSpeed;
    private String spatialAttr;
    private String dept;
    private String deptName;
    private String trafficCapacity;
    private String reverId;
    private String reverName;
    private JGeometry geom;
    private String blockCode;
    // private String geomstr;

    /*------------新增字段-------------------------*/
    /**
     * 备注
     */
    private String memo;
    private String isImportant;
    private String isImportantName;

    /**
     * 获取路段编码
     * 
     * @return String
     */
    public String getBlockId() {
        return blockId;
    }

    /**
     * 设置路段编码
     * 
     * @param blockId
     *            路段编码
     */
    public void setBlockId(String blockId) {
        this.blockId = blockId;
    }

    /**
     * 获取路段名称
     * 
     * @return String
     */
    public String getBlockName() {
        return blockName;
    }

    /**
     * 设置所属路段的名称
     * 
     * @param blockName
     *            路段名称
     * @see BlockInfoDto
     */
    public void setBlockName(String blockName) {
        this.blockName = blockName;
        if (null != letterAbbr && !letterAbbr.equals(""))
            this.letterAbbr = PinYinUtils.getPingYin(blockName);
    }

    /**
     * 获取路段名称的拼音编写
     * 
     * @return String
     */
    public String getLetterAbbr() {
        return letterAbbr;
    }

    /**
     * 设置路段名称拼音缩写
     * 
     * @param letterAbbr
     *            拼音缩写
     */
    public void setLetterAbbr(String letterAbbr) {
        if (null != letterAbbr && !letterAbbr.equals(""))
            this.letterAbbr = letterAbbr;
    }

    /**
     * 获取所属道路编码
     * 
     * @return String
     */
    public String getRoadId() {
        return roadId;
    }

    /**
     * 设置所属道路编码
     * 
     * @param roadId
     *            道路编码
     * @see RoadInfoDto
     */
    public void setRoadId(String roadId) {
        this.roadId = roadId;
    }

    /**
     * 获取所属行政区域编码
     * 
     * @return String
     */
    public String getRegionId() {
        return regionId;
    }

    /**
     * 设置所属行政区域编码
     * 
     * @param regionId
     *            行政区域编码
     * @see RegionInfoDto
     */
    public void setRegionId(String regionId) {
        this.regionId = regionId;
    }

    /**
     * 获取上游路口编码
     * 
     * @return String
     */
    public String getPrevCross() {
        return prevCross;
    }

    /**
     * 设置上游路口编码
     * 
     * @param prevCross
     *            上游路口编码
     * @see CrossInfoDto
     */
    public void setPrevCross(String prevCross) {
        this.prevCross = prevCross;
    }

    /**
     * 获取下游路口编码
     * 
     * @return String
     */
    public String getNextCross() {
        return nextCross;
    }

    /**
     * 设置下游路口编码
     * 
     * @param nextCross
     *            下游路口编码
     * @see CrossInfoDto
     */
    public void setNextCross(String nextCross) {
        this.nextCross = nextCross;
    }

    /**
     * 获取路段长度
     * 
     * @return float
     */
    public float getBlockLen() {
        return blockLen;
    }

    /**
     * 设置路段长度
     * 
     * @param blockLen
     *            路段长度
     */
    public void setBlockLen(float blockLen) {
        this.blockLen = blockLen;
    }

    /**
     * 获取路段起点
     * 
     * @return String
     */
    public String getBeginPoint() {
        return beginPoint;
    }

    /**
     * 设置路段起点
     * 
     * @param beginPoint
     *            路段起点
     */
    public void setBeginPoint(String beginPoint) {
        this.beginPoint = beginPoint;
    }

    /**
     * 获取路段终点
     * 
     * @return String
     */
    public String getEndPoint() {
        return endPoint;
    }

    /**
     * 设置路段终点
     * 
     * @param endPoint
     *            路段终点
     */
    public void setEndPoint(String endPoint) {
        this.endPoint = endPoint;
    }

    /**
     * 获取路段路段限速
     * 
     * @return int
     */
    public int getMaxSpeed() {
        return maxSpeed;
    }

    /**
     * 设置路段限速
     * 
     * @param maxSpeed
     *            路段限速
     */
    public void setMaxSpeed(int maxSpeed) {
        this.maxSpeed = maxSpeed;
    }

    /**
     * 获取空间属性
     * 
     * @return String
     */
    public String getSpatialAttr() {
        return spatialAttr;
    }

    /**
     * 设置空间属性
     * 
     * @param spatialAttr
     *            空间属性
     */
    public void setSpatialAttr(String spatialAttr) {
        this.spatialAttr = spatialAttr;
    }

    /**
     * 获取路段方向字典码
     * 
     * @return String
     */
    public String getDirectCode() {
        return directCode;
    }

    /**
     * 设置路段方向字典码
     * 
     * @param directCode
     *            路段方向字典码
     * @see TrafficDicDto
     */
    public void setDirectCode(String directCode) {
        this.directCode = directCode;
    }

    /**
     * 获取路段方向字典值
     * 
     * @return String
     */
    public String getDirectValue() {
        return directValue;
    }

    /**
     * 设置路段方向字典值
     * 
     * @param directValue
     *            路段方向字典值
     * @see TrafficDicDto
     */
    public void setDirectValue(String directValue) {
        this.directValue = directValue;
    }

    /**
     * 获取路段方向字典名
     * 
     * @return String
     */
    public String getDirectName() {
        return directName;
    }

    /**
     * 设置路段方向字典名
     * 
     * @param directName
     *            路段方向字典名
     * @see TrafficDicDto
     */
    public void setDirectName(String directName) {
        this.directName = directName;
    }

    /**
     * 获取路段类型字典码
     * 
     * @return String
     */
    public String getBlockTypeCode() {
        return blockTypeCode;
    }

    /**
     * 设置路段类型字典码
     * 
     * @param blockTypeCode
     *            路段类型字典码
     * @see TrafficDicDto
     */
    public void setBlockTypeCode(String blockTypeCode) {
        this.blockTypeCode = blockTypeCode;
    }

    /**
     * 获取路段类型字典值
     * 
     * @return String
     */
    public String getBlockTypeValue() {
        return blockTypeValue;
    }

    /**
     * 设置路段类型字典值
     * 
     * @param blockTypeValue
     *            路段类型字典值
     * @see TrafficDicDto
     */
    public void setBlockTypeValue(String blockTypeValue) {
        this.blockTypeValue = blockTypeValue;
    }

    /**
     * 获取路段类型字典名
     * 
     * @return String
     */
    public String getBlockTypeName() {
        return blockTypeName;
    }

    /**
     * 设置路段类型字典名
     * 
     * @param blockTypeName
     *            路段类型字典名
     * @see TrafficDicDto
     */
    public void setBlockTypeName(String blockTypeName) {
        this.blockTypeName = blockTypeName;
    }

    /**
     * 获取是否单行道字典码
     * 
     * @return String
     */
    public String getIsOneWayCode() {
        return isOneWayCode;
    }

    /**
     * 设置是否单行道字典码
     * 
     * @param isOneWayCode
     *            是否单行道字典码
     * @see PublicDicDto
     */
    public void setIsOneWayCode(String isOneWayCode) {
        this.isOneWayCode = isOneWayCode;
    }

    /**
     * 获取是否单行道字典值
     * 
     * @return String
     */
    public String getIsOneWayValue() {
        return isOneWayValue;
    }

    /**
     * 设置是否单行道字典值
     * 
     * @param isOneWayValue
     *            是否单行道字典值
     * @see PublicDicDto
     */
    public void setIsOneWayValue(String isOneWayValue) {
        this.isOneWayValue = isOneWayValue;
    }

    /**
     * 获取是否单行道字典名
     * 
     * @return String
     */
    public String getIsOneWayName() {
        return isOneWayName;
    }

    /**
     * 设置是否单行道字典名
     * 
     * @param isOneWayName
     *            是否单行道字典名
     * @see PublicDicDto
     */
    public void setIsOneWayName(String isOneWayName) {
        this.isOneWayName = isOneWayName;
    }

    /**
     * 获取功能属性字典码
     * 
     * @return String
     */
    public String getFuncAttrCode() {
        return funcAttrCode;
    }

    /**
     * 设置功能属性字典码
     * 
     * @param funcAttrCode
     *            功能属性字典码
     * @see TrafficDicDto
     */
    public void setFuncAttrCode(String funcAttrCode) {
        this.funcAttrCode = funcAttrCode;
    }

    /**
     * 获取功能属性字典值
     * 
     * @return String
     */
    public String getFuncAttrValue() {
        return funcAttrValue;
    }

    /**
     * 设置功能属性字典值
     * 
     * @param funcAttrValue
     *            功能属性字典值
     * @see TrafficDicDto
     */
    public void setFuncAttrValue(String funcAttrValue) {
        this.funcAttrValue = funcAttrValue;
    }

    /**
     * 获取功能属性字典名
     * 
     * @return String
     */
    public String getFuncAttrName() {
        return funcAttrName;
    }

    /**
     * 设置功能属性字典名
     * 
     * @param funcAttrName
     *            功能属性字典名
     * @see TrafficDicDto
     */
    public void setFuncAttrName(String funcAttrName) {
        this.funcAttrName = funcAttrName;
    }

    /**
     * 获取所属道路名称
     * 
     * @return String
     * @see RoadInfoDto
     */
    public String getRoadName() {
        return roadName;
    }

    /**
     * 设置所属道路名称
     * 
     * @param roadName
     *            道路名称
     * @see RoadInfoDto
     */
    public void setRoadName(String roadName) {
        this.roadName = roadName;
    }

    /**
     * 获取所属行政区域名称
     * 
     * @see RegionInfoDto
     */
    public String getRegionName() {
        return regionName;
    }

    /**
     * 设置所属行政区域编码
     * 
     * @param regionName
     *            行政区域名称
     * @see RegionInfoDto
     */
    public void setRegionName(String regionName) {
        this.regionName = regionName;
    }

    /**
     * 获取上游路口名称
     * 
     * @return String
     */
    public String getPrevCrossName() {
        return prevCrossName;
    }

    /**
     * 设置上游路口名称
     * 
     * @param prevCrossName
     *            上游路口名称
     */
    public void setPrevCrossName(String prevCrossName) {
        this.prevCrossName = prevCrossName;
    }

    /**
     * 获取下游路口名称
     * 
     * @return String
     */
    public String getNextCrossName() {
        return nextCrossName;
    }

    /**
     * 设置下游路口名称
     * 
     * @param nextCrossName
     *            下游路口名称
     */
    public void setNextCrossName(String nextCrossName) {
        this.nextCrossName = nextCrossName;
    }

    /**
     * 获取部门编号
     * 
     * @return String
     */
    public String getDept() {
        return dept;
    }

    /**
     * 设置部门编号
     * 
     * @param dept
     *            部门编号
     */
    public void setDept(String dept) {
        this.dept = dept;
    }

    /**
     * 获取部门名称
     * 
     * @return String
     */
    public String getDeptName() {
        return deptName;
    }

    /**
     * 设置部门名称
     * 
     * @param deptName
     *            部门名称
     * @see DeptInfoDto
     */
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /**
     * 获取道路通行设计能力
     * 
     * @return String
     */
    public String getTrafficCapacity() {
        return trafficCapacity;
    }

    /**
     * 设置道路通行设计能力
     * 
     * @param trafficCapacity
     *            道路通行设计能力
     */
    public void setTrafficCapacity(String trafficCapacity) {
        this.trafficCapacity = trafficCapacity;
    }

    /**
     * 获取反向路段编码
     * 
     * @return String
     */
    public String getReverId() {
        return reverId;
    }

    /**
     * 设置反向路段编码
     * 
     * @param reverId
     *            反向路段编码
     * @see BlockInfoDto
     */
    public void setReverId(String reverId) {
        this.reverId = reverId;
    }

    /**
     * 获取反向路段名称
     * 
     * @return String
     */
    public String getReverName() {
        return reverName;
    }

    /**
     * 设置反向路段编码名称
     * 
     * @param reverName
     *            反向路段名称
     */
    public void setReverName(String reverName) {
        this.reverName = reverName;
    }

    /**
     * 获取路段空间属性
     * 
     * @return String
     */
    public JGeometry getGeom() {
        return geom;
    }

    /**
     * 获取路段空间属性
     * 
     * @param geom
     *            路段空间属性
     */
    public void setGeom(JGeometry geom) {
        this.geom = geom;
    }

    /**
     * 获取blockCode
     * 
     * @return blockCode
     */
    public String getBlockCode() {
        return blockCode;
    }

    /**
     * 设置blockCode
     * 
     * @param blockCode
     *            blockCode
     */
    public void setBlockCode(String blockCode) {
        this.blockCode = blockCode;
    }

    /**
     * 返回memo
     * 
     * @return memo
     */
    public String getMemo() {
        return memo;
    }

    /**
     * 设置 memo
     * 
     * @param memo
     *            memo
     */
    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getIsImportant() {
        return isImportant;
    }

    public void setIsImportant(String isImportant) {
        this.isImportant = isImportant;
    }

    public String getIsImportantName() {
        return isImportantName;
    }

    public void setIsImportantName(String isImportantName) {
        this.isImportantName = isImportantName;
    }

    /*
     * public String getGeomstr() { return geomstr; } public void
     * setGeomstr(String geomstr) { this.geomstr = geomstr; }
     */

}
